home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / comm / xh110.zip / XHOST.DOC < prev    next >
Text File  |  1994-02-04  |  65KB  |  1,573 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.                    ▄▄   ▄▄  ▄▄   ▄▄                ▄▄
  11.                    ▀█▄ ▄█▀  ██   ██                ██
  12.                     ▀█▄█▀   ██   ██ ██████ █████ ██████
  13.                      ███    ███████ ██  ██ ██▄     ██
  14.                     ██ ██   ██   ██ ██  ██   ▀██   ██
  15.                    ██   ██  ██   ██ ██████ █████   ██
  16.  
  17.                               version 1.10
  18.  
  19.  
  20.                        A Host Mode for Telix 3.15
  21.  
  22.                           by Andras Pattantyus
  23.  
  24.  
  25.  
  26.      CONTENTS:
  27.  
  28.      Introduction
  29.      Disclaimer
  30.      Licence
  31.      Support
  32.      Requirements
  33.      Installation
  34.      Quick Start-Up
  35.      Configuring XHost
  36.      Sysop Keyboard Commands
  37.      Listing of Online Commands
  38.      Access Levels and Security
  39.      The Archive Handling System
  40.      The User Editor
  41.      The Message Editor
  42.      Using PACK.EXE
  43.      Installing Bimodem
  44.      Installing Other External Protocols
  45.      Files Used/Created by XHost
  46.  
  47.      This document is not formatted for printing.
  48.  
  49.  
  50.                               Introduction
  51.                               ────────────
  52.  
  53.      The big question for any would-be sysop is, of course, why use
  54.      XHost? Here are XHost's major strengths. Keep in mind that it still
  55.      still in its infancy, and more features will be added, according to
  56.      user response.
  57.  
  58.      1) Perhaps the simplest factor: XHost is free. It isn't commercial,
  59.      nor shareware, nor crippleware, nor half-gutted (like some of the
  60.      competition). You get everything there is, for not even a penny.
  61.  
  62.      2) XHost is fast. If you are trying to run Host+ on an XT, enjoy
  63.      the sluggish response to keyboard input. XHost was written on an
  64.      XT, and I hacked away until it worked fast enough. Of course, it
  65.      lacks some of the "sophistication" of Executive Host and Host+. My
  66.      answer to that is some things should be left to real BBS packages,
  67.      not Telix scripts. I don't see the need to push SALT to the limit,
  68.      because invariably performance begins to deteriorate.
  69.  
  70.      3) Well, it's time to roll out all the features. Let's start with
  71.      those that will appeal to high-end expectations:
  72.      - up to 40 conferences (999 will be available once I figure out how
  73.        to efficiently save the users' last read message.)
  74.      - 64k messages per conference
  75.      - Full-screen message editor, with quote mode and message uploading
  76.      - 255 Text files per conference
  77.      - 255 Doors per conference
  78.      - Door formats: DOOR.SYS, DORINFO1.DEF, PCBOARD.SYS, custom ones
  79.      - 255 File directories per conference
  80.      - No built-in limits to file list size
  81.      - Utility to add files to list
  82.      - Completely configurable menu system
  83.      - 256 menus, including global commands
  84.      - Menu editor provided
  85.      - Extensive user records
  86.      - User record editor
  87.      - 255 user levels available, each with own time, byte and ratio
  88.        limit (again, editable)
  89.      - Batch downloads! For internal protocols, 5 files from one
  90.        directory; for external ones, 25 files from any directory.
  91.      - File transfer list can be edited
  92.      - BiModem and HS/Link compatible
  93.      - Upload testing
  94.      - FILE_ID.DIZ importing (supports multi-line descriptions)
  95.      - Compressed file menu: extract, read, list, add files
  96.      - All compressed file formats supported
  97.  
  98.      4) While designing XHost, I also considered the users who don't
  99.      really want to run a BBS, and only need a few of XHost's features.
  100.      This is why I implemented the menu editor, and the following
  101.      options:
  102.  
  103.      - toggle file lists
  104.      - toggle upload testing
  105.      - toggle user records (ie operate like QDHOST in terms of security)
  106.  
  107.      This allows you to set up a simple one-menu system which runs
  108.      nicely, gives you batch transfers and any other feature you feel
  109.      you require. The rest of XHost conveniently disappears.
  110.  
  111.  
  112.  
  113.                                Disclaimer
  114.                                ──────────
  115.  
  116.  
  117.      You use this set of scripts at your own risk. You are advised to
  118.      consult the documentation (RTFM!), or to contact me whenever an
  119.      uncertainty arises. Of course, you should avoid taking unnecessary
  120.      risks when using this software. There is no way that it can be
  121.      guaranteed that this script will work with your particular hardware
  122.      and software setup (although if Telix 3.15 runs, this should run),
  123.      or that it will do what you wish it would. Any dissatisfaction
  124.      should be mentioned to me so that it may be remedied as soon as
  125.      possible. All the scripts have been tested and are hopefully
  126.      bug-free, but some could still have slipped through, especially if
  127.      you are using a beta version of XHost.
  128.  
  129.      Obviously, I, Andras Pattantyus, cannot be held responsible for any
  130.      problems or damages associated with using XHost, and unless you are
  131.      comfortable with that idea, you should not use XHost.
  132.  
  133.  
  134.  
  135.                                 Licence
  136.                                 ───────
  137.  
  138.      XHost 1.10 is a free program. There are no restrictions attached to
  139.      it, except what is said in the following paragraph.
  140.  
  141.      XHost 1.10 may be freely copied and distributed, as long as it is
  142.      unmodified and all files are present, including all the scripts,
  143.      documentation, and any other files originally in the archive; and
  144.      as long as no charge is levied for distributing XHost.
  145.  
  146.  
  147.  
  148.                                 Support
  149.                                 ───────
  150.  
  151.      Getting help or advice for XHost is most easily done by contacting
  152.      me. You are also encouraged (begged!) to forward bug reports and
  153.      suggestions for improvement. Donations for XHost are welcome as
  154.      they will help invest more resources into improving XHost. Anyone
  155.      sending 15$ or more will become a 'registered' user, meaning they
  156.      will receive my undivided attention when asking for help and
  157.      mailed notices of major developments.
  158.  
  159.      I can be reached by:
  160.  
  161.            Writing to 3agp3@qucdn.queensu.ca, which is my Internet
  162.            address.
  163.  
  164.            Writing to ANDRAS PATTANTYUS on the Fidonet Telix Echo.
  165.  
  166.            Calling (613) 549-4914, preferrably around 11:00pm Eastern
  167.            time.
  168.  
  169.            My address is:
  170.                           Brockington House, Room 6
  171.                           Kingston, ON
  172.                           K7L 3X3
  173.                           CANADA
  174.  
  175.      Development has slowed down somewhat due to my studies. Things will
  176.      pick up again in the summer, or as soon as I get a computer for my
  177.      new residence room. This information is valid until May 1994, when
  178.      I'll find out about my summer address.
  179.  
  180.  
  181.  
  182.  
  183.                      Requirements for Running XHost
  184.                      ──────────────────────────────
  185.  
  186.      First of all, Telix 3.15 must run on your machine. Then, enough
  187.      disk space must be available for all the script files (roughly
  188.      150k). To run XHost from a single 360k floppy alongside Telix, you
  189.      will have to delete some non-essential scripts: Setup (once it is
  190.      done), ADD.SLC, SORT.SLC, GENP.SLC and possibly EDIT.SLC or
  191.      EDITOR.SLC if you do not need them.
  192.  
  193.      In terms of memory, the more the better, especially if you plan
  194.      on using the remote DOS shell or doors. It will run with about 300k
  195.      free memory, but this does not leave much room for anything else.
  196.      Note that XHost will use DOS commands to perform certain tasks (ie
  197.      clearing the temp directory), so giving it the absolute minimum
  198.      might cause problems. Using Telix 3.20 will solve this problem as
  199.      it allows you to swap to disk/EMS/XMS during a shell.
  200.  
  201.      As for machine speed, XHost was initially written on an XT, so I
  202.      have learned how to squeeze the most out of SALT. However, there is
  203.      a limit to what can be done. The biggest problem is undoubtedly the
  204.      full screen editor, which ran sluggishly on the XT; the speed was
  205.      equivalent to roughly 120 cps. Other areas may also be slow, as I
  206.      now program on a 386-40 :-); nevertheless, speed was always an
  207.      important factor when I designed my procedures and I can say that
  208.      XHost runs faster than all of the other host modes with comparable
  209.      features now available.
  210.  
  211.  
  212.  
  213.                               Installation
  214.                               ────────────
  215.  
  216.      All files with an SLC extension must be placed inside your script
  217.      directory (defined in Telix, Alt-O F C), and all other files must
  218.      be copied to your XHost data directory (defined in XHost Setup,
  219.      System, XHost directory).
  220.  
  221.      Here's how the files should be distributed:
  222.  
  223.      In script directory:
  224.  
  225.      ADD.SLC        Adds files to FILES.LST in current directory
  226.      DOOR.SLC       Information file converter for doors
  227.      EDIT.SLC       User Editor
  228.      EDITOR.SLC     Message Editor
  229.      GENP.SLC       Generates rejection path list for Bimodem
  230.      README.1ST     Start-up info
  231.      SETUP.SLC      Setup script
  232.      SORT.SLC       Sorts FILES.LST in all directories
  233.      XHOST.SLC      Main host script
  234.      XHOST.DOC      This file
  235.  
  236.      In Telix directory:
  237.  
  238.      PACK.EXE       Data file packer
  239.  
  240.      In XHost data directory:
  241.  
  242.      ARCS.CFG       Archiver configuration file
  243.      BIMOD.ASC      Bimodem help file
  244.      MENU.DEF       Menu definition file
  245.      MENU000.ASC    Sysop menu
  246.      MENU000.ANS
  247.      MENU001.ASC    Main menu
  248.      MENU001.ANS
  249.      MENU002.ASC    File menu
  250.      MENU002.ANS
  251.      MENU003.ASC    Archive viewing menu
  252.      MENU003.ANS
  253.      MENU004.ANS    User setup menu
  254.      MENU004.ASC
  255.      PROTO.ASC      Protocol table
  256.  
  257.      Many more files can be used or will be created by XHost. See FILES
  258.      USED/CREATED BY XHOST for more information.
  259.  
  260.  
  261.                              Quick Start-Up
  262.                              ──────────────
  263.  
  264.      The following steps are the fastest way to getting XHost to work on
  265.      a system. The first obvious thing is to run SETUP.SLC.
  266.  
  267.      - Fill out System settings.
  268.      - Look at the available options. The default settings will be
  269.        adequate for most people, but it is possible to simplify XHost's
  270.        operation through this menu.
  271.      - Fill out Modem Config.
  272.      - Define at least one conference.
  273.      - Add file directories, text files and doors to the conferences.
  274.      - Define levels 1, 10 and 255 for a new, regular and sysop user,
  275.        respectively.
  276.      - Install any external protocols you wish to use. Read the section
  277.        INSTALLING OTHER EXTERNAL PROTOCOLS.
  278.      - All the other settings will work fine with the default values.
  279.      - Edit ARCS.CFG with a text editor to place the default compressed
  280.        file format first.
  281.      - Edit PROTO.ASC to add the external protocols you use.
  282.      - You might want to create FIRST.ASC and LAST.ASC files for logins
  283.        and logoffs, respectively.
  284.  
  285.      That's it! You are now set to run XHost. Simply press Alt-G in
  286.      Telix and type XHOST, followed by Enter.
  287.  
  288.  
  289.                            Configuring XHost
  290.                            ─────────────────
  291.  
  292.      The SETUP script allows you to control most aspects of XHost's
  293.      behaviour. Here is a rundown of all options and their descriptions:
  294.  
  295.  
  296.      UNDER SYSTEM:
  297.      ════════════
  298.  
  299.         - XHost Directory: The directory which contains all of XHost's
  300.           data files, except the usage log and the user file (which are
  301.           in the Telix directory).
  302.  
  303.         - Temporary Directory: This is used to receive all uploads and
  304.           for archive manipulations. It must be an empty directory (or
  305.           else it will very quickly become one) as it is regularly
  306.           cleared.
  307.  
  308.         - Sysop's Name: The name of the system operator.
  309.  
  310.         - System Name: The name of the system being run.
  311.  
  312.         - System Password: A 12-character string that controls access to
  313.           SETUP and the Sysop menu.
  314.  
  315.      UNDER OPTIONS:
  316.      ═════════════
  317.  
  318.         The YES option is explained.
  319.  
  320.         - Capture All Calls:  All calls are captured to XHOST.CAP. Be
  321.           aware that this file will rapidly gain size as all text sent
  322.           to the user will be saved to disk.
  323.  
  324.         - Closed System:  New users are not allowed to register. They
  325.           are shown PRIVATE.ext and then logged off.
  326.  
  327.         - Monitor Call Progress:  The call is displayed to the screen,
  328.           or else the status screen is kept. (The message editor's output
  329.           will always be displayed, and the status screen is restored
  330.           once the user exits the message editor.)
  331.  
  332.         - Exit Telix after Call:  Telix is exited after each caller.
  333.           (useful for front-end mailers)
  334.  
  335.         - Lock Sound ON:  Sound is always ON, regardless of sound hours.
  336.  
  337.         - Lock Sound OFF:  Sound is always OFF, regardless of sound
  338.           hours.
  339.  
  340.         - Allow Aliases:  When registering, the user is asked for
  341.           his/her real name.
  342.  
  343.         - Do NOT Use File Lists:  File descriptions are not required on
  344.           uploads, and obviously filename validation is not done on
  345.           downloads. The raw directory must then be used to list files
  346.           in a directory. Set this to YES if you want a simple Host.
  347.  
  348.         - Do NOT Test Uploads:  Uploads are not tested for errors.
  349.           Otherwise, uploads that fail the test are deleted. (See THE
  350.           ARCHIVE HANDLING SYSTEM section for details on how testing is
  351.           carried out.)
  352.  
  353.         - Do NOT Keep User Records:  This option allows you to forego
  354.           rigorous user records in favour of flexibility. When this is
  355.           ON, the caller is asked to enter a password, and the user
  356.           records are searched for a match. The caller is then assigned
  357.           the level and data that goes along with the password
  358.           (analogously to how Telix's host.slc operates). Ultimately,
  359.           the effect of this option is to render the following data
  360.           fields useless:
  361.  
  362.              Real name, phone number, city, country, bytes left, bytes
  363.              transferred, files transferred, last logon, time left,
  364.              total calls. (See THE USER EDITOR for more details on the
  365.              user file.)
  366.  
  367.           This way several users can call in by knowing one of the
  368.           passwords in the user file. It spares them the hassle of
  369.           registering, etc. and can reduce the user file's size. Note
  370.           that the "Closed System" option is also incapacitated: anyone
  371.           who knows a password can call in. This can also create
  372.           confusion if there is a message base installed, as all users
  373.           logging in with the same password will share the same set of
  374.           last-message-read values.
  375.  
  376.           To use this option, run the user editor to enter a password,
  377.           level and security flags for each record. Note that deleted
  378.           records will still be ignored, and anybody matching a
  379.           blacklisted record's password will be ejected. Finally, the
  380.           ratio should be set to zero for all user levels.
  381.  
  382.         - Sound Hours: The hours at which sound is to come on, and at
  383.           which it is turned off. They can extend past midnight, but
  384.           military (24 hour) time must be used.
  385.  
  386.  
  387.      UNDER MODEM CONFIG:
  388.      ══════════════════
  389.  
  390.         - Minimum baud:  The minimal baud rate required to access the
  391.           system. This must be a baud rate that Telix can recognise.
  392.  
  393.         - Lock rate? (Y/N): Set this to YES if it is wished that the
  394.           baud rate between Telix and the COM port stays constant (if
  395.           Auto Baud Detect in Telix is Off, then this should be set to
  396.           YES).
  397.  
  398.         - Null Modem? (Y/N): This is used if two machines are connected
  399.           via a Null Modem cable. Carrier checking is not performed, and
  400.           there is no time limit to calls.
  401.  
  402.         - Busy String: This is the string that XHost will send to the
  403.           modem before it starts local mode or a quick logon. By
  404.           default, it is ATS0=0|, which sets auto-answer off on
  405.           Hayes-compatible modems. If you want your modem to pick up the
  406.           line so that callers receive a busy signal, change this to
  407.           ATH1|. Note that a vertical bar (|) is used to indicate a
  408.           carriage return (^M), usually at the end of the init string.
  409.  
  410.  
  411.      UNDER CONFERENCES:
  412.      ═════════════════
  413.  
  414.         A window with the first conference displayed will appear. XHost
  415.         can use up to 40 conferences. The following commands can be
  416.         used to view the different conferences:
  417.  
  418.         - Escape: Quit
  419.         - Enter: Edit conference
  420.         - PgUp/Dn: Up or down one conference
  421.         - Ctrl-PgUp/Dn: Up or down 10 conferences
  422.         - (+): Add a conference
  423.         - Delete: Blank out current conference
  424.  
  425.        The following fields may be edited:
  426.  
  427.         - Name:  The conference's name.
  428.  
  429.         - Level:  The level required to access the conference.
  430.  
  431.         - Flags:  Flag set required to access the conference (see ACCESS
  432.           LEVELS AND SECURITY).
  433.  
  434.         - Path:  The directory where the conference's data files
  435.           (messages, and directory/text file/door lists) will be kept.
  436.           By default, this is the same as the XHost directory. This
  437.           field was provided for those who install many conferences, and
  438.           would like to keep each one separate from the others.
  439.  
  440.         - Messages? (Y/N):  Whether messages are allowed in this
  441.           conference or not.
  442.  
  443.           Max Messages: The maximum number of messages for the message
  444.                         base (0 = No limit if messages set to "Yes").
  445.  
  446.           Max Days:  The maximum number of days to keep a message
  447.                     (1-255). A 0 keeps messages indefinitely.
  448.  
  449.           Note that PACK.EXE must be run regularly to take advantage of
  450.           these options. See USING PACK.EXE for more details.
  451.  
  452.         - Private? (Y/N):  Only users registered in this conference will
  453.           be able to access it if this is set to Yes.
  454.  
  455.         - File Directories: Hit Enter to edit the list of file
  456.           directories available in this conference.
  457.  
  458.           Editing the directories:
  459.  
  460.           A window displaying the first file directory will appear.
  461.           Its name, path, level and flags required are editable.
  462.  
  463.            - Name: The file directory's description
  464.            - Path: The directory itself
  465.            - Level: Level required to access the directory
  466.            - Flags: Flags required to access the directory
  467.                     (see ACCESS LEVELS AND SECURITY for a description of
  468.                     how flags work).
  469.  
  470.            The following commands are available:
  471.  
  472.                - Escape: Return to conference window
  473.                - Page Up/Down: Display the next/previous directory
  474.                - Control-Page Up/Down: Jump by 10 directories
  475.                - (+):  Add a directory to the end of the list
  476.                - Delete:  Delete the current directory. Note that this
  477.                  does not remove the directory entirely. Instead its
  478.                  name and path are reset, which causes XHost to skip the
  479.                  directory. To entirely remove a directory, use an
  480.                  editor (as explained under Alt-A a bit later on).
  481.                - Enter:  Edit the current directory
  482.                - Alt-A:  *BEWARE!* Load the editor (as it is defined in
  483.                  Telix Config, Alt-O F H) to edit the directory data
  484.                  file. This is tricky because the file's record lengths
  485.                  must be preserved; even though the records are CR/LF
  486.                  delimited, the file is direct access and therefore any
  487.                  improper deletion or insertion will render the data
  488.                  incomprehensible to XHost. The only safe commands are
  489.                  Delete line (Control-Y in most editors) and Duplicate
  490.                  Line (using a block command or F4 in QEdit).
  491.  
  492.                        Use this command to remove or insert records
  493.                  (which cannot be done in any other way). If you are not
  494.                  sure of what to do, then either don't do it or backup
  495.                  and fiddle around until you get it (this part isn't
  496.                  very user friendly). The header of the data file
  497.                  displays the format of each record; you must use the
  498.                  right record type (directory, text file or door) for
  499.                  the current file.
  500.  
  501.         - Text Files: The same commands as in File directories apply.
  502.           Note that a filename entered without any extension (no period
  503.           in filename) will be taken by XHost as a reference to a set of
  504.           .ANS and .ASC files.
  505.  
  506.         - Doors: Again, the same commands apply, except that PATH must
  507.           now be the full path and filename of the program to run. One
  508.           extra command is available: Alt-O, used to access the Door
  509.           Options window.
  510.  
  511.                  Door Options:
  512.  
  513.                   - Params: The parameters to be passed to the
  514.                     program. Note that all programs (except scripts) are
  515.                     executed using the SALT "run" function, and
  516.                     therefore DOS piping/redirection may not be used.
  517.  
  518.                   - Time: The maximum time a user is to spend within the
  519.                     door.
  520.  
  521.                   - Status: This is a set of On/off flags (much like the
  522.                     security flags) which tell XHost how to prepare to
  523.                     run the door.
  524.  
  525.                     Flag Descriptions:
  526.                         1- Script: Tells XHost that the file should
  527.                            be "called" as a script
  528.  
  529.                         2- ANSI Req'd: A user wishing to run this door
  530.                            MUST have ANSI graphics turned ON
  531.  
  532.                         3- DOOR.SYS: A DOOR.SYS file will be generated
  533.                            before the program is run
  534.  
  535.                         4- DORINFO1.DEF: A DORINFO1.DEF file will be
  536.                            generated before the program is run (QBBS
  537.                            doors)
  538.  
  539.                         5- PCBOARD.SYS: A PCBOARD.SYS file will be
  540.                            generated before the program is run (PCBoard
  541.                            14.x doors)
  542.  
  543.                         6- CVT-1.SLC
  544.                         7- CVT-2.SLC
  545.                         8- CVT-3.SLC: These are converters that you may
  546.                         choose to install. Since more than one converter
  547.                         may be used, you can create DOOR.SYS and then
  548.                         convert it to the format of your choice, or use
  549.                         one of the many programs available (ie
  550.                         Doormaster) to do so.
  551.  
  552.  
  553.      UNDER USER LEVELS:
  554.      ═════════════════
  555.  
  556.         This is where all user levels may be defined, along with the
  557.         time and bytes per day each is allocated, and the ratio the user
  558.         must respect. The ratio is checked against the number of bytes
  559.         downloaded and uploaded. A ratio of 0 disables this checking,
  560.         and otherwise its value indicates the number of bytes a user may
  561.         download for every one that s/he has uploaded.
  562.  
  563.         The current access levels set in the menu definition file should
  564.         be taken into account as this is done (changing the menus'
  565.         access levels is possible using the menu editor). See the
  566.         section titled LISTING OF ONLINE COMMANDS for this information.
  567.  
  568.         The following keys can be used:
  569.  
  570.         - Escape: Quit
  571.         - Page Up/Down: Move up or down a level
  572.         - Control-Page Up/Down: Move up or down by 10 levels
  573.         - Home: Goto level 1
  574.         - End: Goto level 255
  575.         - Insert: insert a level before the current one (level 255 will
  576.           be pushed out)
  577.         - Delete: delete the current level (a new level 255 will be
  578.           created)
  579.         - Enter: Edit the level.
  580.  
  581.  
  582.      UNDER PROTOCOLS:
  583.      ═══════════════
  584.  
  585.         All the available protocol keys are listed here. The internal
  586.         protocols' characteristics may not be changed, but they can be
  587.         disabled. All external protocol keys entered here must also be
  588.         defined using the same key in Telix's configuration (Alt-O P).
  589.  
  590.         The following columns are displayed:
  591.  
  592.         - Key: The protocol's key, by which it can be selected for use.
  593.  
  594.         - On: Whether the protocol is active or not.
  595.  
  596.         - Batch: Whether the protocol can transfer more than one file at
  597.           a time. This option allows internal protocols to send five
  598.           files from the same directory, and external ones to send 25
  599.           files from any directories.
  600.  
  601.         - External: Whether the protocol is external or not. When a
  602.           configuration is saved, Setup marks all protocols that are not
  603.           included with Telix as external, so it is not necessary to
  604.           change this.
  605.  
  606.         - Bimodem: Whether the protocol can use Bimodem's new-format
  607.           Intercommunications Log. Set this to "Y" if you have Bimodem
  608.           1.24; for an older version, make sure that it does support
  609.           this file format. If your version of Bimodem does not support
  610.           this log file format, then it can still generate a DSZLOG
  611.           file. This amounts to the same thing, except that a user will
  612.           have to describe uploads after the transfer.
  613.  
  614.         Use Escape to exit.
  615.  
  616.         (See INSTALLING BIMODEM and INSTALLING OTHER EXTERNAL PROTOCOLS
  617.         for more details).
  618.  
  619.  
  620.      UNDER MENU EDITOR
  621.      ═════════════════
  622.  
  623.         The menu editor is used to add, remove and change the menus
  624.         which XHost uses. The XHost distribution archive comes with
  625.         five menus, numbered from 0 to 4: SysOp, Main, Files, Archives
  626.         and Info & Setup.
  627.  
  628.         Use the cursor keys to move the selector around, and press Enter
  629.         on the menu entry that you wish to change. Escape will end
  630.         editing of an entry. The following commands are also available:
  631.  
  632.         - Alt-C: Clear the current menu's contents.
  633.  
  634.         - Alt-N: Use this to change the name of a menu. If a menu's name
  635.                  is blank, XHost will not use it.
  636.  
  637.         - Alt-P: This allows you to load another menu. Pressing Enter
  638.                  will display a list of all menus. Escape may be used to
  639.                  abort menu selection. Typing "G" will load up the
  640.                  global commands menu. Also, entering a NEW (not
  641.                  accessed previously) menu's number will automatically
  642.                  copy to it the current menu's contents.
  643.  
  644.          - F2: This saves the current menu.
  645.  
  646.          - Escape: Quit to main menu.
  647.  
  648.         Menu Commands:
  649.  
  650.           ! = Accepts arguments via Option
  651.           # = Supports access by numbers
  652.  
  653.           1       Send menu                  41 !#   List Files
  654.           2       Goodbye                    42      New Files
  655.           3       Chat                       43      Locate string in FILES.LST
  656.           4       Comment                    44      Upload
  657.           7  !    Goto menu                  45      Download
  658.           9  !    Run script                 46 !#   Raw (DOS) directory
  659.           10      Shut XHost down            47      Add files to list
  660.           11 !#   Text Files                 48      Move file
  661.           12 !#   Doors                      55      Change PW
  662.           14      Read Log                   56      Change default protocol
  663.           15      DOS Command                57      Set scan prompt on/off
  664.           16      Read messages              58      Set conferences to scan
  665.           17      Write message              59      ANSI on/off
  666.           21      List conferences           60      Expert mode on/off
  667.           22  #   Scan conferences           61      Display user info
  668.           23 !#   Join conference            62      Set screen length
  669.           31      Choose archive
  670.           32      Delete from archive
  671.           33      List files in archive
  672.           34      Delete EXTRACT.ext
  673.           35      Extract file
  674.           36      Add to EXTRACT.ext
  675.           37      Type file inside archive
  676.           38      Contents of EXTRACT.ext
  677.  
  678.  
  679.           Notes
  680.           ─────
  681.  
  682.           - Menu 1 is always the first one sent to the user.
  683.  
  684.           - Most commands are described in the LISTING OF ONLINE
  685.             COMMANDS section.
  686.  
  687.           - The Global menu has precedence over all the others.
  688.  
  689.           - "Run script" command requires an option. Then SCRnnn.SLC
  690.             will be run, where nnn is the option. This is admittedly
  691.             somewhat awkward, but it is certainly the easiest method to
  692.             code. Also, a return code of 3 from the script will be
  693.             considered a request to exit to DOS, of 2 to exit to Telix,
  694.             and of 1 to end the call (0 = normal termination).
  695.  
  696.           - "Goto menu" also requires an option. This option indicates
  697.             the menu that will be loaded; note that menu 0 is system
  698.             password-protected.
  699.  
  700.           - "Access by number" refers to accessing an object (ie text
  701.             file, door, file directory) by typing its number. This is
  702.             done by setting the key to '#'. Take for example the
  703.             following menu entry:
  704.  
  705.             Key: #  Level: 1  Flags: 0  Command: 41  Option: 0
  706.  
  707.             To list a file directory (command 41), the user would have
  708.             to enter its number: 1 to list the first one, 2 to list the
  709.             second, etc. This can also be done with the raw dir, text
  710.             files, doors and conferences. Entering here an option
  711.             different from 0 would cause the file directory of the same
  712.             number as option to be displayed no matter which number was
  713.             entered.
  714.  
  715.           - Due to the way XHost processes the menus, keys may be
  716.             repeated within a menu. However, XHost will only find the
  717.             first matching key that the user has access to; therefore
  718.             this is useful to execute different commands for different
  719.             user levels. For example:
  720.  
  721.             Key: T  Level: 10  Flags: 0  Command: 7  Option: 5
  722.             Key: T  Level: 5   Flags: 0  Command: 7  Option: 6
  723.  
  724.             This would make all users with a level greater than 10 who
  725.             to go to menu 5. Users with a level >= 5 and less than 10
  726.             would be sent to menu 6. All other users who type 'T' would
  727.             be told that they had entered a bad command.
  728.  
  729.  
  730.  
  731.      SAVE AND EXIT:
  732.      ═════════════
  733.  
  734.         Does Precisely that. This saves the following data:
  735.  
  736.             Paths and names, options, modem settings, maximum number of
  737.             conferences, level checks, protocols.
  738.  
  739.         Directories, text files, doors must be saved with F2 before
  740.         leaving their window. The same applies to conferences, user
  741.         levels and the menu editor.
  742.  
  743.         Note that pressing Escape from the first menu causes SETUP to end
  744.         without any changes being saved.
  745.  
  746.  
  747.  
  748.  
  749.                         Sysop Keyboard Commands
  750.                         ───────────────────────
  751.  
  752.         The following commands are available at all times except when
  753.         the user is in the editor.
  754.  
  755.          - Alt-A: Loads the user editor after saving the current user's
  756.                   record. The user's data will be reloaded after.
  757.          - Alt-D: Toggles the display on/off
  758.          - Alt-F: Presents Telix's DOS Function menu.
  759.          - Alt-S: Toggles the sound on/off
  760.          - Alt-X: Hangs up on the user, and exits XHost.
  761.          - Alt-Z: Cycles through the various help/info screens.
  762.  
  763.         These commands can be used when a user is online:
  764.  
  765.          - +/-:   Lowers or raises the current user's access Level.
  766.          - PgUp/PgDn: Lowers or raises the current user's time by 5
  767.                       minutes.
  768.          * Note: Changes made to a user's access level and time left
  769.                  will be saved to the user's record.
  770.  
  771.          - Alt-E: Toggles echo on/off. This is used to suspend output to
  772.                   the caller.
  773.          - Alt-H: Hangs up on the user, and returns to the status
  774.                   screen.
  775.          - Alt-Y: Chats with current user.
  776.  
  777.         These commands are available only at the status screen:
  778.  
  779.          - Alt-O: Run the Setup script. Note that XHost must be
  780.            restarted for any changes in the System, Options, Modem or
  781.            Protocol section to take effect.
  782.  
  783.          - L: Start local test mode. This simulates a logon by a caller.
  784.            Note that file transfers (obviously) will not work
  785.            properly.
  786.  
  787.          - Q: Quick logon. This allows a local logon by simply entering
  788.            the system password. If the sysop's name is found in the user
  789.            file, then the appropriate record is used. Otherwise (if the
  790.            sysop's name is not on the list, if the system does not keep
  791.            user records), a "sysop" user will be generated; this,
  792.            however, will not work with doors (unless it does not require
  793.            any info file) as no actual user record exists, and the door
  794.            converter requires one. The initial menu is menu 0, which is
  795.            the sysop menu in the default configuration.
  796.  
  797.  
  798.  
  799.                        Listing of Online Commands
  800.                        ──────────────────────────
  801.  
  802.         This is a listing of the default menus and a short explanation
  803.         of each command.
  804.  
  805.         Note: 1) Commands can be stacked from almost any prompt; ie:
  806.         f v s xh102b.zip will go from the main menu to the archive menu
  807.         and select XH102B.ZIP.
  808.               2) Some commands are not included in the default menus.
  809.         That is, they can be used but do not appear in the MENUnnn.ext
  810.         files. These are marked with an asterisk.
  811.  
  812.         Format: Command, Key, Level, Security Flags
  813.  
  814.         GLOBAL COMMANDS
  815.         ═══════════════
  816.  
  817.         Expert Mode, X, 1, 0
  818.         - Toggles expert mode on and off (whether the current menu is
  819.           sent before every command prompt or not)
  820.  
  821.         Goodbye, G, 1, 0
  822.         - Displays LAST.ext and logs off user
  823.  
  824.         Send Menu, ?, 1, 0
  825.         - Shows current menu to user. This also reloads the MENU.DEF
  826.           file, so this must be used after a level change before any new
  827.           commands can be accessed.
  828.  
  829.         Yell, Y, 1, 0
  830.         - Attempts to page the system operator
  831.  
  832.  
  833.         SYSOP MENU   (Need Flag 1 and system pw to access)
  834.         ══════════
  835.  
  836.         Add to File list, F, 1, 1
  837.         - In local mode, runs the ADD scripts to add files to a file
  838.           list. For remote callers, it allows the same to be done via a
  839.           simpler interface.
  840.  
  841.         DOS Shell, D, 1, 1
  842.         - Allows a DOS Shell or a DOS Command to be executed. For DOS
  843.           Shell, a SHELL.BAT file is first searched for, and one is
  844.           created if it is not found.
  845.  
  846.           Note that DOS 5 is needed to use XHost's built-in shell
  847.           procedures for COM 3 and 4 (there is no easy way to test for
  848.           DOS 5's presence). The COMSPEC system variable needs to be set
  849.           (ie have SET COMSPEC=C:\COMMAND.COM, or whatever your command
  850.           interpreter is, in your AUTOEXEC.BAT file) for XHost's batch
  851.           file to work. Also, running a program remotely is next to
  852.           impossible unless a redirection program, such as DOORWAY, is
  853.           used to channel I/O through the system's COM ports. It is
  854.           highly recommended for effective DOS shelling. Users will also
  855.           find that the system will leave little memory available to a
  856.           DOS shell, due to the fact that Telix and XHost take up a good
  857.           chunk of it. This can be fixed by using an external program,
  858.           such as SHROOM, to unload Telix from memory before the shell.
  859.           Telix 3.20 also fixes this problem by swapping itself to disk,
  860.           EMS or XMS. (SHROOM and DOORWAY are shareware, copyright owned
  861.           by their authors, and should be available on any major BBS.)
  862.  
  863.         Move File, M, 1, 1
  864.         - Moves a file and its description (if available) from one file
  865.           directory to another. The description and the file are
  866.           copied to the new directory, then PACK /F [path] is used to
  867.           remove the old description.
  868.  
  869.         Read Log, R, 1, 1
  870.         - Displays the usage log (XHOST.LOG in the Telix directory).
  871.  
  872.         Shut Down, S, 1, 1
  873.         - Allows termination of XHost script and exit from Telix.
  874.  
  875.  
  876.         MAIN MENU
  877.         ═════════
  878.  
  879.         ANSI Mode, A, 1, 0
  880.         - This sets whether ANSI colour codes will be sent or not to the
  881.           user.
  882.  
  883.         Comment, C, 1, 0
  884.         - This allows the user to enter a private message to the system
  885.           operator. It is saved in conference 1, even if conference 1
  886.           does not allow messages.
  887.  
  888.         Doors, D, 10, 0
  889.         - The Door menu. If DOORS.ext is found in the data directory,
  890.           it is displayed. Otherwise, XHost generates a list of all
  891.           available (ie that the user has appropriate access to)
  892.           doors. A door is run by entering its number.
  893.  
  894.         File Menu, F, 10, 0
  895.         - This loads up the File Menu (002).
  896.  
  897.         Info Menu, I, 1, 0
  898.         - This brings up the Info & Setup menu (004).
  899.  
  900.         List Conferences, L, 5, 0
  901.         - This displays a list of all the conferences the user has
  902.           access to, unless CONFS.ext is found in the host directory,
  903.           in which case it is sent instead.
  904.  
  905.         Read Messages, R, 5, 0
  906.         - This allows the user to read messages in conferences
  907.           with messages (as defined in Setup). The following subcommands
  908.           are available to all users:
  909.  
  910.               (+) read forward
  911.               (-) read backward
  912.               (1-65536) jump to another message
  913.               (Enter) read the next message
  914.  
  915.               (A) read the same message again
  916.               (C) read messages non-stop
  917.               (J) join a conference
  918.               (L) set the last message read
  919.               (Q) quit reading messages
  920.               (R) reply to the current message
  921.               (S) scan conferences for messages
  922.               (W) write a new message
  923.  
  924.           The system will always start reading at the newest message. If
  925.           no new messages exist, the user must specify a message number
  926.           to start at; (+) and (-) cannot be used at that point.
  927.  
  928.           If the current message if to or from the user (or the user has
  929.           the co-sysop flag [2]), then one extra command can be used:
  930.  
  931.               (E) edit the message's header. The user who wrote the
  932.                   message can change the "To", "Subject", "Private" and
  933.                   "Deleted" fields. The receiver may only change the
  934.                   last two.
  935.  
  936.         Scan Conferences, S, 5, 0
  937.         - This command has two modes: one is a quick scan, which
  938.           displays the number of new messages in the conferences the
  939.           user has selected to scan, the other allowing the user to also
  940.           read these new messages before proceeding to the next
  941.           conference.
  942.  
  943.         Switch Conference, Conference's number, 5, 0
  944.         - This allows the user to join another conference, as long as
  945.           s/he has access to the new conference.
  946.  
  947.         Text Files, T, 5, 0
  948.         - This brings the user to the Text File Menu. At this point,
  949.           XHost first checks for the presence of TXTFILES.ext in the
  950.           data directory; if it is not found, it generates a list of all
  951.           defined text files available to the user. It is also possible
  952.           to view any accessible text file from this menu (a text
  953.           file in any one of the directories available to the user). A
  954.           text file can be displayed by typing its number (or name, if
  955.           it is in a directory). As always, numbers and names can be
  956.           stacked. For example, to show files 1, 2, and 5, one can enter
  957.           "1 2 5". To display any one of them continuously, type a "c"
  958.           (for continuous) after its designator: "1 c 2 5" will display
  959.           the first text file non-stop and pause at each page for the
  960.           others.
  961.  
  962.         Write Message, W, 5, 0
  963.         - This allows the user to write a message in the current
  964.           conference (if it allows messages). The default receiver is
  965.           "All". Message entry may be aborted by entering a blank
  966.           subject.
  967.  
  968.       * Sysop Menu, Z, 1, 1
  969.         - This loads up the sysop menu. The system password is required;
  970.           if is not defined, a blank system password allows access to
  971.           this menu.
  972.  
  973.  
  974.  
  975.         FILE MENU   (level 10)
  976.         ═════════
  977.  
  978.       * Add files, A, 10, 2
  979.         - This command allows a co-sysop (flag 2) to update the file
  980.           list in any directory that s/he has access to. The ADD script
  981.           will be run for local callers, and XHost will use a simpler
  982.           interface for remote callers.
  983.  
  984.         Download, D, 10, 0
  985.         - This allows the user to transfer one or more files from the
  986.           host system to the remote system. Internal protocols may be
  987.           used to transfer up to five files from one directory, while
  988.           external batch protocols are allowed to transfer up to 25.
  989.  
  990.           If only a filename is entered, it is searched for in all the
  991.           directories of the current conference that the user has access
  992.           to. Unless the user has the level required to bypass the file
  993.           list (or the system runs without file lists), every match is
  994.           checked for presence on the file list.
  995.  
  996.           A user with access to any path can enter a filename and path
  997.           on downloads. Note that file list checking is still in effect
  998.           (for users without the required level), even if the path is
  999.           not defined within the conference.
  1000.  
  1001.           Finally, the user must have enough time and bytes available
  1002.           for each file; the download/upload ratio must also be
  1003.           respected (XHost will not allow a user to exceed his/her
  1004.           allotted ratio).
  1005.  
  1006.           The user also can manipulate the transfer list using the
  1007.           following commands, which are entered at the "File nn:"
  1008.           prompt:
  1009.  
  1010.              (L) list all files to be transferred.
  1011.              (D) delete a file from the list.
  1012.              (S) display transfer statistics.
  1013.  
  1014.           Once file selection has ended, the user may start, abort,
  1015.           continue the list (if applicable; ie batch protocols only), or
  1016.           ask XHost to hangup after the transfer.
  1017.  
  1018.         List Files, File directory's number, 10, 0
  1019.         - This allows the user to view the file list for each directory.
  1020.           At the "Which file directory" prompt, a "?" (question mark)
  1021.           will display a list of available file directories, or the file
  1022.           FDIRS.ext if it exists.
  1023.  
  1024.         New Files, N, 10, 0
  1025.         - This will search all the available directories in the current
  1026.           conference for files which have been uploaded after the user's
  1027.           last call.
  1028.  
  1029.         Raw Directory, R, 20, 0
  1030.         - This allows the user to view the DOS directory of any
  1031.           accessible file directory (Telix's "show_directory" command).
  1032.  
  1033.         Search File List, S, 10, 0
  1034.         - This allows the user to search all the accessible file
  1035.           directories in the current conference for a text string. ANY
  1036.           field may be searched (name, size, date, and description).
  1037.  
  1038.         Text Files, T, 10, 0
  1039.         - This brings the user to the Text File viewer.
  1040.  
  1041.         Upload, U, 10, 0
  1042.         - This allows the user to send files to the system. All
  1043.           directories of the current conference are searched to ensure
  1044.           that duplication does not occur.
  1045.  
  1046.           All files are received into the temporary directory. XHost
  1047.           then processes each received file by searching for duplicates,
  1048.           and then by running the test routine corresponding to the
  1049.           file's archive extension (if upload testing is not disabled).
  1050.  
  1051.         View Archive, V, 10, 0
  1052.         - This loads up the Archive Menu (003).
  1053.  
  1054.  
  1055.         ARCHIVE MENU  (level 10)
  1056.         ════════════
  1057.  
  1058.         Select Archive, S, 10, 0
  1059.         - This is is used to select the archive that is to be
  1060.           manipulated. All directories of the current conference are
  1061.           searched, wildcards are accepted (though only the first match
  1062.           will be processed), and full paths may be specified by users
  1063.           who have the required access levels.
  1064.  
  1065.       * Add to Archive, A, 10, 1
  1066.         - This allows the sysop to add any file in one of the
  1067.           directories or any path to the EXTRACT compressed file.
  1068.  
  1069.         Contents of EXTRACT, C, 10, 0
  1070.         - This lists the contents of EXTRACT.
  1071.  
  1072.         Delete in Archive, D, 10, 0
  1073.         - This allows the user to delete a file from EXTRACT. Wildcards
  1074.           are allowed.
  1075.  
  1076.         Extract, E, 10, 0
  1077.         - This will extract the specified file(s) from the selected
  1078.           archive and add them to EXTRACT. EXTRACT.arc is created in the
  1079.           second file directory of the current conference, where it is
  1080.           assumed that the user can access it.
  1081.  
  1082.         Kill EXTRACT, K, 10, 0
  1083.         - This will delete the EXTRACT file.
  1084.  
  1085.         List Archive, L, 10, 0
  1086.         - This lists the files in the selected archive.
  1087.  
  1088.         Type in Archive, T, 10, 0
  1089.         - This allows the user to view a text file within the selected
  1090.           archive.
  1091.  
  1092.  
  1093.         INFO & SETUP MENU
  1094.         ═════════════════
  1095.  
  1096.         Change Password, P, 1, 0
  1097.         - This allows the user to change the password they use on the
  1098.           system.
  1099.  
  1100.         Default Protocol, D, 1, 0
  1101.         - This allows the user to change the protocol used for
  1102.           transfers. If the protocol is set to "N" (for none), the user
  1103.           must choose a protocol before each transfer.
  1104.  
  1105.         Height of Screen, H, 1, 0
  1106.         - This changes the number of lines after which the system sends
  1107.         a "More? (Y)es, (n)o, (c)ontinuous:" prompt. Setting this to
  1108.         zero disables these pauses.
  1109.  
  1110.         List Info, L, 1, 0
  1111.         - This displays information on the user.
  1112.  
  1113.         Scan Conferences upon logon, T, 1, 0
  1114.         - This allows the user to toggle whether s/he wants to scan
  1115.           the conferences that s/he selected right after loggin on.
  1116.  
  1117.         Select Conferences to Scan, S, 1, 0
  1118.         - This allows the user to select the conferences to scan when
  1119.           the "Scan" command is used.
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.                        Access Levels and Security
  1126.                        ──────────────────────────
  1127.  
  1128.      There are two variables which control a user's access to any
  1129.      function within XHost: the access level and the security flags.
  1130.      While the former is easily understood, the latter may need to be
  1131.      clarified for some. The security flags are a set of eight bits
  1132.      (either on or off), and a function is available to the caller only
  1133.      if all the function's flags are present in the caller's set.
  1134.  
  1135.      For example:
  1136.  
  1137.        if John D. has flags 01100100
  1138.           and dir 1 has     01000000
  1139.        then John D. has access to dir 1.
  1140.  
  1141.        If dir 1 has         11100100
  1142.        then John D. is not be able to use it.
  1143.  
  1144.      Also, the first flag (starting from the left) is the Sysop flag,
  1145.      while the second one marks the co-sysop; the rest of the flags can
  1146.      be used for any purpose. A user with the co-sysop flag can
  1147.      extract from an archive into any directory, read private messages
  1148.      (except those addressed to "SYSOP" or the Sysop's name), and change
  1149.      any message's status, receiver and subject.
  1150.  
  1151.      Security flags have one purpose: to make special designation
  1152.      independent of access level. Therefore, any user can be a sysop or
  1153.      co-sysop, regardless of their access level. One also could, for
  1154.      example, define the third flag as the "Adult" flag, and set it to 1
  1155.      on all conferences and file directories which only adults should
  1156.      have access to. Then only users with this third flag also set to 1
  1157.      (hopefully all adults) would be able to access them.
  1158.  
  1159.  
  1160.  
  1161.                       The Archive Handling System
  1162.                       ───────────────────────────
  1163.  
  1164.      XHost is designed to handle any archive type that the system
  1165.      operator wishes to use, and any number of different types. This is
  1166.      because all archive type information is stored in ARCS.CFG in the
  1167.      XHost data directory. The format is as follows:
  1168.  
  1169.      .[Extension]
  1170.      [List command]
  1171.      [Extract]
  1172.      [Add]
  1173.      [Delete]
  1174.      [Test]
  1175.      .[Next Extension]
  1176.      ...
  1177.  
  1178.      as in:
  1179.  
  1180.      .ARJ
  1181.      ARJ l -y %1 %2
  1182.      ARJ e -y %1 %2
  1183.      ARJ a -y %1 %2
  1184.      ARJ d -y %1 %2
  1185.      ARJ t -y %1 %2
  1186.  
  1187.      It is a CR/LF delimited text file. The first line for an archive
  1188.      type is its extension. Following are the commands to list the
  1189.      contents, extract from, add to, delete from, and test the archive.
  1190.      This can continue until all archive types have been defined. Note,
  1191.      however, that accessing this file can be extremely slow on
  1192.      XT computers, so it should not be made too large. The
  1193.      parameters "%1" and "%2" represent the archive and the secondary
  1194.      filespec. All of the commands are called using the SALT "run"
  1195.      function, except for archive list, which necessitates the "dos"
  1196.      function, since %2 is replaced by a DOS redirection in order to
  1197.      capture the archiver's ouput.
  1198.  
  1199.      XHost already comes with four defined types: ARJ, ZIP, LZH and ARC.
  1200.      The first defined type is taken to be the default type: it is used
  1201.      as default extension for filenames and to create the EXTRACT file.
  1202.  
  1203.      The transfer system will test uploaded archives if that option is
  1204.      enabled in Setup. There are three possibilities:
  1205.  
  1206.      1- File's extension not found in ARCS.CFG: File cannot be tested
  1207.         but is still accepted.
  1208.      2- Test command returns -1: Archiver was not found or not enough
  1209.         memory was available to load it. XHost will say "File could not
  1210.         be tested" and it is still accepted.
  1211.      3- Test command returns a value greater than 0: Test is assumed to
  1212.         have failed, and archive is deleted.
  1213.      4- Test command returns 0: Archive has no errors, and is accepted
  1214.         as an upload.
  1215.  
  1216.  
  1217.  
  1218.                             The User Editor
  1219.                             ───────────────
  1220.  
  1221.      The EDIT.SLC script allows the editing of individual user records.
  1222.      Each user record contains the following information:
  1223.  
  1224.         Status character, alias, password, level, security flags, real
  1225.         name, area code and phone number, city and state, country, page
  1226.         length, transfer protocol, bytes available for downloading,
  1227.         uploaded bytes, downloaded bytes, uploaded files, downloaded
  1228.         files, time of last logon, time left for today, total number of
  1229.         calls, comment, scanned conferences, registered conferences,
  1230.         last message read for all conferences.
  1231.  
  1232.      Not all the data can be edited, but most relevant fields are
  1233.      accessible. The more adventurous can always use a sector editor for
  1234.      the remaining data fields.
  1235.  
  1236.      The user editor has a user list on the left-hand side and the data
  1237.      corresponding to the highlighted user displayed on the right. The
  1238.      editor can access the first 200 users on file.
  1239.  
  1240.      The following commands are valid while in the user list:
  1241.  
  1242.      Esc: Quit the user editor.
  1243.      Tab or Right: Edit highlighted user.
  1244.      S: Search for a string in the users' names.
  1245.      Del: Delete the current user. This only sets his DELETED status
  1246.           flag. PACK.EXE must be run to completely remove a record.
  1247.      A: Add a user.
  1248.      Up: Previous user.
  1249.      Down: Next user.
  1250.      Home: First User.
  1251.      End: Last User.
  1252.      PgUp: Up 20 users.
  1253.      PgDn: Down 20 users.
  1254.  
  1255.      Editing a user:
  1256.  
  1257.      Esc: Cancel edit, return to user list.
  1258.      F1: Help on editing keys.
  1259.      F2: Save current user, return to user list.
  1260.      Up, Down: Change fields.
  1261.  
  1262.      Status Flags:
  1263.  
  1264.      (1=On 0=Off)
  1265.      1: Deleted flag. The record cannot be accessed, and PACK will remove
  1266.         the user on its next run.
  1267.      2: KickOut. Blacklisted user.
  1268.      3: Scan Msgs. This is the scan-upon-logon flag.
  1269.      4: Expert mode flag.
  1270.      5: Color. ANSI mode on/off.
  1271.      7: Capture. Everything sent/received is saved to file.
  1272.  
  1273.      Security Flags:
  1274.  
  1275.      1: Sysop
  1276.      2: Co-sysop
  1277.      3-8: Definable
  1278.  
  1279.  
  1280.  
  1281.  
  1282.                            The Message Editor
  1283.                            ──────────────────
  1284.  
  1285.      The message editor provided with XHost can operate as a full screen
  1286.      ANSI editor or as a line editor. Word-wrapping is always in effect;
  1287.      the maximum line length is 72 characters per line, and up to 99
  1288.      lines may be used. It currently displays 22 lines of the message
  1289.      per screen.
  1290.  
  1291.      The full screen editor uses ANSI codes to scroll, insert and
  1292.      delete text. This enables it to be much faster than other editors,
  1293.      which constantly need to redraw the current line or part of the
  1294.      screen in order to insert and delete text.
  1295.  
  1296.      The full screen mode provides the following options:
  1297.  
  1298.      - Cursor keys: edit a line and change lines.
  1299.      - Control-D: cursor right
  1300.      - Control-E: cursor up
  1301.      - Control-S: cursor left
  1302.      - Control-X: cursor down
  1303.      - Control-C: page down
  1304.      - Control-R: page up
  1305.      - Control-U: upload message (using ASCII protocol). It will pasted
  1306.                   into the message from the current line on.
  1307.      - Control-O: quote from original message (if replying)
  1308.      - Control-V: toggle insert mode
  1309.      - Control-Y: delete line
  1310.      - Control-Z: displays a short help screen
  1311.  
  1312.      - Escape: message menu (where the user can save, quit, continue,
  1313.                use the full screen editor, edit a line, insert a line,
  1314.                delete a line).
  1315.  
  1316.      The quote function (Ctrl-O) inserts the selected lines at the next
  1317.      line in the text. All quoted text is preceded by "> ".
  1318.  
  1319.  
  1320.                              Using PACK.EXE
  1321.                              ──────────────
  1322.  
  1323.      PACK is the program that will remove superfluous data from XHost's
  1324.      data files. It will:
  1325.  
  1326.           remove received private and deleted messages;
  1327.           remove old messages;
  1328.           trim a message base to its correct size;
  1329.           remove inexistant files from FILES.LST in the directories;
  1330.           pack the LEVELS.DAT file;
  1331.           and pack the USERS.DAT file.
  1332.  
  1333.      PACK's command line can be:
  1334.  
  1335.      User file:      PACK /U telixdir
  1336.                      ex: PACK /U C:\TELIX
  1337.  
  1338.      Level file:     PACK /L hostdir
  1339.                      ex: PACK /L C:\TELIX\HOST
  1340.  
  1341.      Message bases:  PACK /M[conf#] hostdir
  1342.                           /M0 hostdir  to pack all message bases
  1343.                      ex: PACK /M2 C:\TELIX\HOST
  1344.  
  1345.      File lists:     PACK /F filedir
  1346.                           /F0 hostdir  to pack all file lists
  1347.                      ex: PACK /F C:\FILES
  1348.  
  1349.      Note that only one option may be used at a time. To perform ALL of
  1350.      the above operations, use:
  1351.  
  1352.      PACK telixdir hostdir   as in PACK C:\TELIX C:\TELIX\HOST
  1353.  
  1354.      which will pack the user file, the level file, all conferences
  1355.      which have messages, and all the file directories of each
  1356.      conference.
  1357.  
  1358.  
  1359.                            Installing Bimodem
  1360.                            ──────────────────
  1361.  
  1362.      XHost can use most of Bimodem's features, but installation is
  1363.      somewhat complicated. The batch files defined in Telix under
  1364.      external protocols can be only be used if the caller is uploading
  1365.      (ie sending to the host); for downloads, XHost will call the batch
  1366.      file HBIMOD.BAT which must reside in the Telix directory (or one
  1367.      included in the system's PATH).
  1368.  
  1369.      It might be practical to have a two Telix configuration file: one
  1370.      for normal use, and another with the modifications that XHost
  1371.      needs.
  1372.  
  1373.      Step 1: Install Bimodem in Telix (Alt-O P A/B/C/D)
  1374.  
  1375.              Set "download name" to HBIMOD, and "Bat or Script" to Bat.
  1376.              "Upload name" is the name of your batch/file script for
  1377.              uploads. Fill in the remaining fields, and set "ask for
  1378.              download name" to No.
  1379.  
  1380.      Step 2: Install Bimodem in XHost (XHost Setup, Option 6)
  1381.  
  1382.              Go to the first blank key, and enter THE SAME KEY that
  1383.              you entered in the Telix config. Set all other fields to
  1384.              "Y". It would also be practical to include it in the
  1385.              protocol menu (PROTO.ASC and PROTO.ANS).
  1386.  
  1387.      Step 3: Create HBIMOD.BAT in your Telix directory.
  1388.  
  1389.              Use your favourite editor to create this batch file, which
  1390.              will be used for downloads and uploads. It must:
  1391.  
  1392.              1 - change to correct drive and directory
  1393.              2 - run Bimodem with the necessary command line parameters.
  1394.  
  1395.                For example:
  1396.  
  1397.                C:
  1398.                CD\BIMOD
  1399.                BIMODEM /IC:\TEMP\BIMOD.LOG /U@C:\TEMP\FILES.LST %3
  1400.  
  1401.                - replace C:\TEMP with the path to the temp directory
  1402.                - %3 will become /Snnn /Tnnn, the time and byte limits
  1403.                  for Bimodem (passed by XHost) - you may wish to use
  1404.                  /L%1 and /B%2 to set the com port and baud rate.
  1405.                - Notes: If you don't care about statistics, the
  1406.                  /IC:\TEMP\BIMOD.LOG can be left out; otherwise it must
  1407.                  be named BIMOD.LOG and be in the temporary directory.
  1408.                  Also, the /I option may not be available for copies of
  1409.                  Bimodem that are older than v1.24. If such is the case,
  1410.                  then use SET DSZLOG=[filename] instead, as described
  1411.                  in INSTALLING OTHER EXTERNAL PROTOCOLS.
  1412.  
  1413.      Step 4: Configure Bimodem using BiMenu
  1414.  
  1415.      -> under filenames & paths:
  1416.  
  1417.         Rejection path: C:\TELIX\APATHS.LST
  1418.         - This file needs to be created once (use the provided GENP
  1419.         utility). It contains all the directories Bimodem will search
  1420.         search before accepting an upload, and it may reside in any
  1421.         valid directory (though GENP will create it in your Telix
  1422.         directory).
  1423.  
  1424.         Send paths:     C:\TEMP\PATHS.LST
  1425.         - This file will be created each time Bimodem is run to reflect
  1426.         the directories that the current user has access to. It is
  1427.         always created inside your temporary directory. If the user
  1428.         cannot bypass FILES.LST, then this file contains nothing, and
  1429.         the user is limited to what was entered within XHost at the file
  1430.         prompt. Otherwise, the user is free to add as many transfers as
  1431.         will fit into the time and byte limit set on the command line by
  1432.         XHost (the user may accomplish this by either adding downloads
  1433.         to his .PTH file before starting the transfer, or by using Alt-A
  1434.         during the transfer with a registered copy of Bimodem).
  1435.  
  1436.         Receive path    C:\TEMP\
  1437.         - Your temporary directory, where XHost expects to find all
  1438.         received files, so that it can move them into the upload file
  1439.         directory after verifying them.
  1440.  
  1441.      -> under general options:
  1442.  
  1443.         YES to Allow Remote Requests (otherwise user will not be able to
  1444.                                       upload)
  1445.         NO  to Allow full path+name (it is risky to leave this as YES)
  1446.  
  1447.  
  1448.  
  1449.                     Installing Other External Protocols
  1450.                     ───────────────────────────────────
  1451.                           (including HS/Link)
  1452.  
  1453.      XHost supports all external protocols which can write a DSZLOG
  1454.      transfer log file (if statistics are not required, then any
  1455.      protocol will work). Batch protocols MUST be able to process
  1456.      transfer lists as all filenames will be written to a text file in
  1457.      the temporary directory.
  1458.  
  1459.      Step 1: Install Protocol in Telix (Alt-O P A/B/C/D)
  1460.  
  1461.              Fill in all the fields.
  1462.  
  1463.      Step 2: Install Protocol in XHost (XHost Setup, Option 6)
  1464.  
  1465.              Go to the first blank key, and enter THE SAME KEY that
  1466.              you entered in the Telix config. Set all other fields
  1467.              appropriately. You should then add a line in the protocol
  1468.              menu for the one you are now installing.
  1469.  
  1470.      Step 3: Create all batch files/scripts to run protocol
  1471.  
  1472.              Your batch file/script must ensure the following:
  1473.  
  1474.              1 - the protocol puts all received files into your temp
  1475.                  dir. (for uploads)
  1476.  
  1477.              2 - the protocol is given the correct download name.
  1478.                  Batch protocols: @C:\TEMP\FILES.LST, others: %3
  1479.  
  1480.              Sample Batch File to run HS/Link:
  1481.  
  1482.              (Download)
  1483.              CD\HSLINK
  1484.              HSLINK @C:\TEMP\FILES.LST -UC:\TEMP
  1485.  
  1486.              (Upload)
  1487.              CD\HSLINK
  1488.              HSLINK -UC:\TEMP
  1489.  
  1490.             - C:\TEMP must be replaced by your temporary directory's
  1491.               name
  1492.  
  1493.      Step 4: Set DSZLOG if stats are required.
  1494.  
  1495.              The DSZLOG environment variable must be set or else XHost
  1496.              will not be able to properly update the users' statistics
  1497.              or keep an accurate log of system use. The simplest way to
  1498.              do this is to append to your AUTOEXEC.BAT the line:
  1499.  
  1500.              SET DSZLOG=[path][filename]
  1501.              as in
  1502.              SET DSZLOG=C:\TELIX\TRANS.LOG
  1503.  
  1504.  
  1505.  
  1506.                       Files used/created by XHost
  1507.                       ───────────────────────────
  1508.  
  1509.      A .ext extension indicates that the filename with a ANS extension
  1510.      will be displayed to users with ANSI color set to ON, while the ASC
  1511.      version will be sent to others. If the ANSI file is not found, then
  1512.      the text (ASC) file will be sent to all users.
  1513.  
  1514.  
  1515.      in XHost directory:
  1516.      ═══════════════════
  1517.  
  1518.      May be modified using an editor:
  1519.      ARCS.CFG       Archiver configuration file
  1520.      BIMOD.ext      Text file explaining Bimodem procedure to users
  1521.      CONFS.ext      List of all conferences for users
  1522.      FIRST.ext      Logon screen
  1523.      LAST.ext       Logoff screen
  1524.      MENUnnn.ext    Menu screens
  1525.      POLICY.ext     "Policy of the Board" text file
  1526.      PRIVATE.ext    Text file to new users for closed systems
  1527.      PROTO.ext      List of transfer protocols
  1528.  
  1529.      Use Setup to modify these:
  1530.      CONFS.DAT      Conference data file
  1531.      LEVELS.DAT     Levels data file
  1532.      MENU.DEF       Menu definition file
  1533.  
  1534.      XHOST.CAP      Capture file if all calls are to be captured
  1535.      *.CAP          Capture file for one particular user, with *
  1536.                     representing the user's name (first eight
  1537.                     characters, blanks replaced by underscores).
  1538.  
  1539.  
  1540.      In the conference's path:
  1541.      ═════════════════════════
  1542.  
  1543.      DIRnnn.ext     List of all directories in conference for users
  1544.      DORnnn.ext     List of all doors in conference for users
  1545.      TXTnnn.ext     List of all text files in conference for users
  1546.                     (These files are optional; XHost will generate its
  1547.                     own list if they are not found.)
  1548.      nnn.DIR        File directories for conference nnn
  1549.      nnn.DOR        Doors for conference nnn
  1550.      nnn.TXT        Bulletins for conference nnn
  1551.      nnn.MSG        Message data file for conference nnn
  1552.      nnn.IDX        Message index file for conference nnn
  1553.  
  1554.  
  1555.      in Telix dir:
  1556.      ═════════════
  1557.  
  1558.      XHOST.LOG      Log file
  1559.      USERS.DAT      User data file
  1560.  
  1561.      in File Directories:
  1562.      ════════════════════
  1563.  
  1564.      FILES.LST      File list (unless disabled in Setup)
  1565.  
  1566.      Others:
  1567.      ═══════
  1568.  
  1569.      SHELL.BAT      Batch file used to call DOS shell
  1570.      XH$$$.TMP      Temporary file used for various tasks
  1571.      EXTRACT.arc    Archive containing user extracts (in dir #2)
  1572.                     The default archiver is used to create it.
  1573.